package model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
@Entity
@Table(name = "tbl_pedido")
@SequenceGenerator(name="seq_pedido",sequenceName="seq_pedido",allocationSize=1)
public class Pedido implements Serializable{
  
    @OneToMany(mappedBy = "pedido_id")
    private List<ItensPedido> itenspedidos;   

    @OneToMany(mappedBy = "pedido_id")
    private List<ParcelasPedido> parcelaspedidos; 
    
    @Id
    @GeneratedValue(generator="seq_pedido",strategy= GenerationType.AUTO)    
    private int pedido_id;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataemissao;
    @ManyToOne
    @JoinColumn(name="cliente_id")
    private Cliente cliente_id;
    @ManyToOne
    @JoinColumn(name="condicaopgto_id")
    private CondicaoPagamento condicaopgto_id;
    @ManyToOne
    @JoinColumn(name="formapgto_id")
    private FormaPagamento formapgto_id;
    private String endereco;
    private String complemento;
    private String numeroender;
    private String bairro;
    private int cep;
    private String cidade;
    private String uf ;
    private String pais;   
    @ManyToOne
    @JoinColumn(name="formaenvio_id")
    private FormaEnvio formaenvio_id;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date previsaoentrega;
    private Double valorfrete;    
    private Double valorprodutos;
    private Double valordescontos;
    private Double valoracrescimos;
    private Double valortotal;
    private String status;
    private String observacao;
    
    public Pedido(){
        
    }

    public List<ItensPedido> getItenspedidos() {
        return itenspedidos;
    }

    public void setItenspedidos(List<ItensPedido> itenspedidos) {
        this.itenspedidos = itenspedidos;
    }

    public List<ParcelasPedido> getParcelaspedidos() {
        return parcelaspedidos;
    }

    public void setParcelaspedidos(List<ParcelasPedido> parcelaspedidos) {
        this.parcelaspedidos = parcelaspedidos;
    }

    public int getPedido_id() {
        return pedido_id;
    }

    public void setPedido_id(int pedido_id) {
        this.pedido_id = pedido_id;
    }

    public Date getDataemissao() {
        return dataemissao;
    }

    public void setDataemissao(Date dataemissao) {
        this.dataemissao = dataemissao;
    }

    public Cliente getCliente_id() {
        return cliente_id;
    }

    public void setCliente_id(Cliente cliente_id) {
        this.cliente_id = cliente_id;
    }

    public CondicaoPagamento getCondicaopgto_id() {
        return condicaopgto_id;
    }

    public void setCondicaopgto_id(CondicaoPagamento condicaopgto_id) {
        this.condicaopgto_id = condicaopgto_id;
    }

    public FormaPagamento getFormapgto_id() {
        return formapgto_id;
    }

    public void setFormapgto_id(FormaPagamento formapgto_id) {
        this.formapgto_id = formapgto_id;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getComplemento() {
        return complemento;
    }

    public void setComplemento(String complemento) {
        this.complemento = complemento;
    }

    public String getNumeroender() {
        return numeroender;
    }

    public void setNumeroender(String numeroender) {
        this.numeroender = numeroender;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public int getCep() {
        return cep;
    }

    public void setCep(int cep) {
        this.cep = cep;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }

    public String getPais() {
        return pais;
    }

    public void setPais(String pais) {
        this.pais = pais;
    }

    public FormaEnvio getFormaenvio_id() {
        return formaenvio_id;
    }

    public void setFormaenvio_id(FormaEnvio formaenvio_id) {
        this.formaenvio_id = formaenvio_id;
    }

    public Date getPrevisaoentrega() {
        return previsaoentrega;
    }

    public void setPrevisaoentrega(Date previsaoentrega) {
        this.previsaoentrega = previsaoentrega;
    }

    public Double getValorfrete() {
        return valorfrete;
    }

    public void setValorfrete(Double valorfrete) {
        this.valorfrete = valorfrete;
    }

    public Double getValorprodutos() {
        return valorprodutos;
    }

    public void setValorprodutos(Double valorprodutos) {
        this.valorprodutos = valorprodutos;
    }

    public Double getValordescontos() {
        return valordescontos;
    }

    public void setValordescontos(Double valordescontos) {
        this.valordescontos = valordescontos;
    }

    public Double getValoracrescimos() {
        return valoracrescimos;
    }

    public void setValoracrescimos(Double valoracrescimos) {
        this.valoracrescimos = valoracrescimos;
    }

    public Double getValortotal() {
        return valortotal;
    }

    public void setValortotal(Double valortotal) {
        this.valortotal = valortotal;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getObservacao() {
        return observacao;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }

    public Pedido(int pedido_id, Date dataemissao, Cliente cliente_id, CondicaoPagamento condicaopgto_id, FormaPagamento formapgto_id, String endereco, String complemento, String numeroender, String bairro, int cep, String cidade, String uf, String pais, FormaEnvio formaenvio_id, Date previsaoentrega, Double valorfrete, Double valorprodutos, Double valordescontos, Double valoracrescimos, Double valortotal, String status, String observacao) {
        this.pedido_id = pedido_id;
        this.dataemissao = dataemissao;
        this.cliente_id = cliente_id;
        this.condicaopgto_id = condicaopgto_id;
        this.formapgto_id = formapgto_id;
        this.endereco = endereco;
        this.complemento = complemento;
        this.numeroender = numeroender;
        this.bairro = bairro;
        this.cep = cep;
        this.cidade = cidade;
        this.uf = uf;
        this.pais = pais;
        this.formaenvio_id = formaenvio_id;
        this.previsaoentrega = previsaoentrega;
        this.valorfrete = valorfrete;
        this.valorprodutos = valorprodutos;
        this.valordescontos = valordescontos;
        this.valoracrescimos = valoracrescimos;
        this.valortotal = valortotal;
        this.status = status;
        this.observacao = observacao;
    }
    
    
}
